home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / FNUUNV (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  4.6 KB  |  117 lines

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import com.sun.java.swing.JComponent;
  4. import com.sun.java.swing.JInternalFrame;
  5. import com.sun.java.swing.JLayeredPane;
  6. import com.sun.java.swing.LookAndFeel;
  7. import com.sun.java.swing.border.Border;
  8. import com.sun.java.swing.plaf.ComponentUI;
  9. import com.sun.java.swing.plaf.DesktopIconUI;
  10. import java.awt.BorderLayout;
  11. import java.awt.Component;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.awt.Insets;
  15. import java.awt.LayoutManager;
  16. import java.awt.event.MouseListener;
  17. import java.awt.event.MouseMotionListener;
  18. import java.beans.PropertyVetoException;
  19. import java.io.Serializable;
  20. import java.util.EventListener;
  21.  
  22. public class BasicDesktopIconUI extends DesktopIconUI implements Serializable {
  23.    JInternalFrame.JDesktopIcon desktopIcon;
  24.    JComponent iconPane;
  25.    EventListener mml;
  26.    JInternalFrame frame;
  27.  
  28.    protected MotionListener createMotionListener(JInternalFrame.JDesktopIcon dIcon) {
  29.       return new MotionListener(this);
  30.    }
  31.  
  32.    public static ComponentUI createUI(JComponent c) {
  33.       return new BasicDesktopIconUI();
  34.    }
  35.  
  36.    public void deiconize() {
  37.       try {
  38.          this.frame.setIcon(false);
  39.       } catch (PropertyVetoException var1) {
  40.       }
  41.  
  42.    }
  43.  
  44.    public Insets getInsets(JComponent c) {
  45.       JInternalFrame iframe = this.desktopIcon.getInternalFrame();
  46.       Border border = ((JComponent)iframe).getBorder();
  47.       return border != null ? border.getBorderInsets(iframe) : new Insets(0, 0, 0, 0);
  48.    }
  49.  
  50.    public Dimension getMaximumSize(JComponent c) {
  51.       return this.iconPane.getMaximumSize();
  52.    }
  53.  
  54.    public Dimension getMinimumSize(JComponent c) {
  55.       return this.iconPane.getMinimumSize();
  56.    }
  57.  
  58.    public Dimension getPreferredSize(JComponent c) {
  59.       JInternalFrame iframe = this.desktopIcon.getInternalFrame();
  60.       Border border = ((JComponent)iframe).getBorder();
  61.       int w2 = 157;
  62.       int h2 = 18;
  63.       if (border != null) {
  64.          h2 += border.getBorderInsets(iframe).bottom + border.getBorderInsets(iframe).top;
  65.       }
  66.  
  67.       return new Dimension(w2, h2);
  68.    }
  69.  
  70.    protected void installComponents(JInternalFrame.JDesktopIcon dIcon) {
  71.       this.frame = dIcon.getInternalFrame();
  72.       this.iconPane = new BasicInternalFrameTitlePane(this.frame);
  73.       ((Container)dIcon).setLayout(new BorderLayout());
  74.       ((Container)dIcon).add(this.iconPane, "Center");
  75.    }
  76.  
  77.    protected void installDefaults(JInternalFrame.JDesktopIcon dIcon) {
  78.       LookAndFeel.installBorder(dIcon, "DesktopIcon.border");
  79.    }
  80.  
  81.    protected void installListeners(JInternalFrame.JDesktopIcon dIcon) {
  82.       this.mml = this.createMotionListener(this.desktopIcon);
  83.       ((Component)dIcon).addMouseMotionListener((MouseMotionListener)this.mml);
  84.       ((Component)dIcon).addMouseListener((MouseListener)this.mml);
  85.    }
  86.  
  87.    public void installUI(JComponent c) {
  88.       this.desktopIcon = (JInternalFrame.JDesktopIcon)c;
  89.       this.frame = this.desktopIcon.getInternalFrame();
  90.       this.installDefaults(this.desktopIcon);
  91.       this.installComponents(this.desktopIcon);
  92.       this.installListeners(this.desktopIcon);
  93.       JLayeredPane.putLayer(this.desktopIcon, JLayeredPane.getLayer(this.frame));
  94.    }
  95.  
  96.    protected void uninstallComponents(JInternalFrame.JDesktopIcon dIcon) {
  97.       ((Container)dIcon).setLayout((LayoutManager)null);
  98.       ((Container)dIcon).remove(this.iconPane);
  99.    }
  100.  
  101.    protected void uninstallDefaults(JInternalFrame.JDesktopIcon dIcon) {
  102.    }
  103.  
  104.    protected void uninstallListeners(JInternalFrame.JDesktopIcon dIcon) {
  105.       ((Component)dIcon).removeMouseMotionListener((MouseMotionListener)this.mml);
  106.       ((Component)dIcon).removeMouseListener((MouseListener)this.mml);
  107.    }
  108.  
  109.    public void uninstallUI(JComponent c) {
  110.       this.installDefaults(this.desktopIcon);
  111.       this.uninstallComponents(this.desktopIcon);
  112.       this.uninstallListeners(this.desktopIcon);
  113.       this.desktopIcon = null;
  114.       this.frame = null;
  115.    }
  116. }
  117.